# coding:utf-8
import time, os
from multiprocessing import Process


"""
    Process 创建一个进程 target,args 进程对象
    
    start       执行进程        无参数     无返回值
    join        阻塞进程        无           无
    kill        杀死进程        无           无
    is_alive    进程是否存活     无           bool
    
    通过进程模块执行的函数无法获取返回值；即使使用return也无法获取
    多个进程同时修改文件可能会出现错误
    进程数量过多可能造成资源不足，甚至死机等情况
    
    
"""


def work_a():
    for i in range(10):
        print(i, 'a', os.getpid())
        time.sleep(1)

def work_b():
    for i in range(10):
        print(i, 'b', os.getpid())
        time.sleep(1)


def start_a_process():
    start = time.time()
    a_p  = Process(target=work_a)
    b_p = Process(target=work_b)
    for p in (a_p, b_p):
        p.start()

    for p in (b_p, a_p):
        p.join()
    during = time.time() -start
    print(during)


if __name__ =='__main__':
    start_a_process()